home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-10-26 | 112.7 KB | 2,296 lines |
- Internet Draft Scott Shenker
- Expires: April 1994 Xerox PARC
- File: draft-shenker-realtime-model-00.txt David D. Clark
- MIT
- Lixia Zhang
- Xerox PARC
-
- A Service Model for an Integrated Services Internet
-
-
- October 22, 1993
-
- Status of Memo
-
- This document is an Internet-Draft. Internet-Drafts are working
- documents of the Internet Engineering Task Force (IETF), its Areas,
- and its Working Groups. Note that other groups may also distribute
- working documents as Internet-Drafts.
-
- Internet-Drafts are draft documents valid for a maximum of six
- months. Internet-Drafts may be updated, replaced, or obsoleted by
- other documents at any time. It is not appropriate to use Internet-
- Drafts as reference material or to cite them other than as a "working
- draft" or "work in progress."
-
- Abstract
-
- The Internet is currently being confronted with service demands from
- a new generation of applications. Supporting these applications
- effectively and efficiently will require extending the current
- Internet "best-effort" service model to one that offers an integrated
- suite of services. The purpose of this memo (which is derived
- primarily from [1]) is to describe a proposed "core" service model
- for an integrated services Internet. In the Appendix we discuss the
- process by which such a service model could be standardized by the
- IETF.
-
- 1 Introduction
-
- The current Internet offers a very simple service model: all packets
- receive the same "best effort" service. The term "best effort" means
- that the network tries to forward packets as soon as possible, but
- makes no quantitative commitments about the quality of service
- delivered. This service model can be realized by using a single FIFO
- queue to do packet scheduling in the switches; in fact, this service
- model arose precisely because FIFO packet scheduling, without
- admission control, cannot efficiently deliver any other service
- model. This single class "best effort" service model provides the
-
-
-
- Shenker, Clark, Zhang [Page 1]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- same quality of service to all flows [Note 1] ; this uniform quality
- of service is good, as measured by delay and dropped packets, when
- the network is lightly loaded but can be quite poor when the network
- is heavily utilized. Consequently, only those applications that are
- rather tolerant of this variable service, such as file transfer
- (e.g., FTP), electronic mail, and interactive terminals (e.g.,
- Telnet) have become widely adopted in the Internet.
-
- However, we expect there to soon be widespread demand for an emerging
- generation of computer based applications, such as FAX, remote video,
- multimedia conferencing, data fusion, remote X-terminals,
- visualization, and virtual reality. These applications represent a
- wide variety of quality of service requirements, ranging from the
- asynchronous nature of FAX and electronic mail to the extremely
- time-sensitive nature of high quality audio, and from the low
- bandwidth requirements of Telnet to the bandwidth intensive
- requirements of HDTV. To meet all of these service requirements
- using the current Internet service model, it would be necessary (but
- perhaps not sufficient) to keep the utilization level extremely low.
- We think a better solution is to offer a more sophisticated service
- model, so that applications can specify their service needs and the
- network can then allocate its resources selectively towards those
- applications that are more performance sensitive. It is important to
- emphasize that this solution requires that applications explicitly
- specify their service desires; these needs are not derived implicitly
- by the network through the inspection of port numbers.
-
- The service model is the enduring, and therefore the most
- fundamental, part of a network architecture. The service model will
- be incorporated into the network service interface used by future
- applications; as such, it will define the set of services they can
- request, and will therefore influence the design of future
- applications as well as the performance of existing ones. Thus, the
- service model should not be designed in reference to any specific
- network artifact but rather should be based on fundamental service
- requirements. While both the underlying network technology and the
- overlying suite of applications will evolve, the need for
- compatibility requires that this service interface remain relatively
- stable. Actually, compatibility only demands that the existing parts
- of the service model must remain largely unchanged; the service model
- should be extensible with augmentations handled without difficulty.
- Also, we should note that these compatibility arguments apply "only"
- _________________________
- [Note 1] "Flow" is the term we use to refer to end-to-end connections
- and other more general varieties of traffic streams. We will return to
- this issue in Section 2 where we discuss multicast flows more explicit-
- ly.
-
-
-
-
- Shenker, Clark, Zhang [Page 2]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- to those aspects of the service model which are part of the network
- service interface; the service model will also have some components
- (e.g., the link-sharing services as defined in Section 3) which are
- exercised through a network management interface, and here the
- compatibility arguments do not apply with nearly the same force.
-
- This memo proposes a core service model for the Internet. We address
- those services which relate most directly to the time-of-delivery of
- packets. We do not address those services which are concerned with
- which network links are used (which is the domain of routing) and
- those services which involve encryption, security, authentication, or
- transmission reliability. We also do not consider services, such as
- reliable multicast, which do tangentially involve the time-of-
- delivery but which more fundamentally involve other factors such as
- buffer management and inter-switch acknowledgment algorithms.
- Furthermore, we do not consider time-of-delivery services which can
- best be delivered at the end host or by gateway switches at the edge
- of the network, such as synchronization of different traffic streams.
- Although many of the services listed above may perhaps be offered in
- the future, we do not expect that they will affect the basic core of
- the service model which we discuss here.
-
- In order to efficiently support this more sophisticated service
- model, Internet routers must employ an appropriately sophisticated
- non-FIFO packet scheduling algorithm. In fact, the packet scheduling
- algorithm is the most fundamental way in which the network can
- allocate resources selectively; the network can also allocate
- selectively via routing or buffer management algorithms, but neither
- of these by themselves can support a sufficiently general service
- model (see [10,6,7,15,9,11,13,29,18,19] for a few examples of packet
- scheduling algorithms). However, packet scheduling algorithms are
- only part of a complete mechanism to support explicit qualities of
- service. In particular, since resources are finite, one cannot always
- support an unbounded number of service requests. The network must
- employ some form of admission algorithm so that it has control over
- which service commitments are made. The admission process requires
- that flows characterize their traffic stream to the network when
- requesting service, and the network then determines whether or not to
- grant the service request. It is important to keep in mind that
- admission control plays a crucial role in allowing these scheduling
- algorithms to be effective by keeping the aggregate traffic load down
- to a level where meeting the service commitments is feasible (see
- [7,20,22,24] for a few examples of admission control algorithms). In
- fact, admission control is but one kind of denial of service; we will
- discuss the several varieties of denial of service and their role in
- allowing the scheduling algorithm to meet service commitments.
-
- This memo has 2 sections. In Section 30 we identify the two kinds of
-
-
-
- Shenker, Clark, Zhang [Page 3]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- service commitments we expect future networks to make; these are
- quality of service commitments to individual flows and resource-
- sharing commitments to collective entities. In Section 31 we explore
- the service requirements of individual flows and then propose a
- corresponding set of service models. In Section 3 we discuss the
- service requirements for resource-sharing commitments to collective
- entities, and propose a related service model. In Section 32, we
- review the various forms denial of service can manifest, and the ways
- in which denial of service can be used to augment the core service
- model. We then conclude in Section 2 by discussing other viewpoints.
- In an Appendix we discuss how the Internet community can standardize
- a new service model.
-
- 2 Service Commitments
-
- A service model is made up of service commitments; that is, a service
- model describes what service the network commits to deliver in
- response to a particular service request. In this section, we
- describe the various different kinds of service commitments that are
- included in our core service model.
-
- Service commitments can be divided up into two classes, depending on
- the way in which the service is characterized. One class of service
- commitment is a quantitative or absolute service commitment, which is
- some form of assurance that the network service will meet or exceed
- the agreed upon quantitative specifications; a typical example of
- this is a bound on maximal packet delay. The other class of service
- commitment is a qualitative or relative service commitment, which is
- merely some form of assurance about how one set of packets will be
- treated relative to other sets of packets. One example of this kind
- of relative service commitment is to offer several different priority
- classes; the service in any priority class is not quantitatively
- characterized, but there is a relative commitment to serve traffic in
- a given priority class before traffic in lower priority classes.
- Thus, when we say that the current Internet offers only a single
- "best-effort" class of service, this is equivalent to saying that it
- does not offer any quantitative service commitments, and only offers
- the most trivial relative service commitment to treat all packets
- equivalently. An important distinction between these two classes of
- commitments is that quantitative service commitments often inherently
- require some form of admission control, with the flow characterizing
- its traffic in some manner; in contrast, relative service commitments
- generally do not require any admission control.
-
- Service commitments can also be divided into two categories depending
- on the entities to which the commitments are made. The first
- category of service commitments is the one most often considered in
- the current literature; these are quality of service commitments to
-
-
-
- Shenker, Clark, Zhang [Page 4]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- individual flows. In this case the network provides some form of
- assurance that the quality of service delivered to the contracting
- flow will meet or exceed the agreed upon specifications. The need
- for these kinds of service commitments is usually driven by the
- ergonomic requirements of individual applications. For instance, the
- perceived quality of many interactive audio and video applications
- declines dramatically when the delay of incoming packets becomes too
- large; thus, these applications would perform better if the network
- would commit to a small bound on the maximum packet queueing delay.
- In Section 3 we discuss what quality of service commitments are
- included in our core service model.
-
- In contrast, the second category of service commitment we consider
- has rarely been explicitly discussed in the research literature, even
- though there is widespread agreement in the industry that there is
- great customer demand for this feature; these are resource-sharing
- commitments to collective entities. In this case, the network
- provides an assurance that the resource in question will be shared
- according to some prearranged convention among some set of collective
- entities. These collective entities could, for example, be
- institutions, protocol families, or application types. An example of
- the need for such resource-sharing commitments is when two private
- companies choose to jointly purchase a fiber optic link and then
- elect to share the bandwidth in proportion to the capital investments
- of the two companies. In Section 4, we present a more detailed
- motivation for this form of service commitment and then discuss the
- particular resource-sharing commitments that are part of our core
- service model.
-
- We should reiterate that because the quality of service service
- commitments to individual flows will typically be invoked through the
- service interface, compatibility requires that their definition
- remain relatively stable. The resource sharing commitments will
- typically be invoked through a network management interface, not
- through the service interface used by applications, and therefore the
- need for compatibility does not require such a stable service
- definition.
-
- 3 Quality of Service Requirements and Service Models
-
- In the previous section, we distinguished two sorts of service
- requirements, quality of service requirements and resource sharing
- requirements. In this section we consider quality of service
- requirements. We first argue that packet delay is the key measure of
- quality of service. We then present our assumptions about the nature
- of future computer-based applications and their service requirements.
- Finally, we describe a set of quality of service commitments designed
- to meet these service requirements.
-
-
-
- Shenker, Clark, Zhang [Page 5]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- 3.1 The Centrality of Delay
-
- There is one measure of service that is relevant to almost all
- applications: per-packet delay. In some sense, delay is the
- fundamental measure of the service given to a packet, since it
- describes when (and if) a packet is delivered and, if we assume
- that data is never corrupted (which we think is a good
- approximation for the future Internet [Note 2] ), the time of
- delivery is the only quantity of interest to applications. Delay
- is clearly the most central quality of service, and we will
- therefore start by assuming that the only qualities of service
- about which the network makes commitments relate to per-packet
- delay. Later, in Section 2 we will return to this point and ask
- if the service model that results from this initial assumption is
- sufficiently general.
-
- In addition to restricting our attention to delay, we make the
- even more restrictive assumption that the only quantity about
- which we make quantitative service commitments are bounds on the
- maximum and minimum delays. Thus, we have excluded quantitative
- service commitments about other delay related qualities of
- service, such as targets for average delay. This is based on
- three judgments. First, controlling nonextremal values of delay
- through packet scheduling algorithms is usually impractical
- because it requires detailed knowledge of the actual load, rather
- than just knowledge of the best and worst case loads. Second,
- even if one could control nonextremal measures of packet delay for
- the aggregate traffic in the network, this does not control the
- value of such measures for individual flows; e.g., the average
- delay observed by a particular flow need not be the same as, or
- even bounded by, the average of the aggregate (see [33] for a
- discussion of related issues). Thus, controlling nonextremal
- measures of delay for the aggregate is not sufficient, and we
- judge it impractical to control nonextremal measures of delay for
- each individual flow. Third, as will be argued in the next
- section, applications that require quantitative delay bounds are
- more sensitive to the extremes of delay than the averages or other
- statistical measures, so even if other delay related qualities of
- service were practical they would not be particularly useful. We
- discuss this in the section below when we discuss real-time
- applications.
-
- Why have we not included bandwidth as a quality of service about
- _________________________
- [Note 2] For those links where this is not a good approximation, such as
- some wireless links, we expect there to be hop-by-hop error recovery so
- that at the network level there is a low error rate.
-
-
-
-
- Shenker, Clark, Zhang [Page 6]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- which the network makes commitments? This is primarily because,
- for applications which care about the time-of-delivery of each
- packet, the description of per-packet delay is sufficient. The
- application determines its bandwidth needs, and these needs are
- part of the traffic characterization passed to the network's
- admission control algorithm; it is the application which then has
- to make a commitment about the bandwidth of its traffic (when
- requesting a quantitative service commitment from the network),
- and the network in turn makes a commitment about delay. However,
- there are some applications which are essentially indifferent to
- the time-of-delivery of individual packets; for example, when
- transferring a very long file the only relevant measure of
- performance is the finish time of the transfer, which is almost
- exclusively a function of the bandwidth. We discuss such
- applications at the end of Section 2.
-
-
- 3.2 Application Delay Requirements
-
- The degree to which application performance depends on low delay
- service varies widely, and we can make several qualitative
- distinctions between applications based on the degree of their
- dependence. One class of applications needs the data in each
- packet by a certain time and, if the data has not arrived by then,
- the data is essentially worthless; we call these real-time
- applications. Another class of applications will always wait for
- data to arrive; we call these elastic applications. We now
- consider the delay requirements of these two classes separately.
- For the purposes of the discussion that follows, we assume that
- all applications involve point-to-point communication, with all
- packets requiring the same service. At the end of Section 2 we
- discuss the case of multipoint-to-multipoint communication. In
- Section 32 we address the case where some packets in a flow are
- more important than others.
-
- 3.2.1 Real-Time Applications
-
- An important class of such real-time applications, which are
- the only real-time applications we explicitly consider in the
- arguments that follow, are "playback" applications. In a
- playback application, the source takes some signal, packetizes
- it, and then transmits the packets over the network. The
- network inevitably introduces some variation in the delay of
- the delivered packets. This variation in delay has
- traditionally been called "jitter". The receiver depacketizes
- the data and then attempts to faithfully play back the signal.
- This is done by buffering the incoming data to remove the
- network induced jitter and then replaying the signal at some
-
-
-
- Shenker, Clark, Zhang [Page 7]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- fixed offset delay from the original departure time; the term
- "playback point" refers to the point in time which is offset
- from the original departure time by this fixed delay. Any data
- that arrives before its associated playback point can be used
- to reconstruct the signal; data arriving after the playback
- point is essentially useless in reconstructing the real-time
- signal [Note 3] purposes of discussion, let us temporarily
- assume that such playback applications have some intrinsic data
- generation process that is unalterable; later in this section
- we will return to this point.
-
- In order to choose a reasonable value for the offset delay, an
- application needs some "a priori" characterization of the
- maximum delay its packets will experience. This "a priori"
- characterization could either be provided by the network in a
- quantitative service commitment to a delay bound, or through
- the observation of the delays experienced by the previously
- arrived packets; the application needs to know what delays to
- expect, but this expectation need not be constant for the
- entire duration of the flow.
-
- The performance of a playback application is measured along two
- dimensions: latency and fidelity. In general, latency is the
- delay between the two (or more) ends of a distributed
- application; for playback applications, latency is the delay
- between the time the signal is generated at the source and the
- time the signal is played back at the receiver, which is
- exactly the offset delay. Applications vary greatly in their
- sensitivity to latency. Some playback applications, in
- particular those that involve interaction between the two ends
- of a connection such as a phone call, are rather sensitive to
- the value of the offset delay; other playback applications,
- such as transmitting a movie or lecture, are not.
-
- Fidelity is the measure of how faithful the playback signal is
- to the original signal. The playback signal is incomplete when
- packets arrive after their playback point and thus are dropped
- rather than played back. The playback signal becomes distorted
- when the offset delay is varied. Therefore, fidelity is
- decreased whenever the offset delay is varied and whenever
- packets miss their playback point. Applications exhibit a wide
- range of sensitivity to loss of fidelity. We will consider two
- somewhat artificially dichotomous classes: intolerant
- _________________________
- [Note 3] It is an oversimplification to say that the data is useless; we
- discuss below that a receiving application could adjust the playback
- point as an alternative to discarding late packets.
-
-
-
-
- Shenker, Clark, Zhang [Page 8]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- applications, which require an absolutely faithful playback,
- and tolerant applications, which can tolerate some loss of
- fidelity [Note 4]. Intolerance to loss of fidelity might arise
- because of user requirements (e.g., distributed symphony
- rehearsal), or because the application hardware or software is
- unable to cope with missing pieces of data. On the other hand,
- users of tolerant applications, as well as the application
- hardware and software, are prepared to accept occasional
- distortions in the signal. We expect that the vast bulk of
- audio and video applications will be tolerant.
-
- Delay can affect the performance of playback applications in
- two ways. First, the value of the offset delay, which is
- determined by predictions about the future packet delays,
- determines the latency of the application. Second, the delays
- of individual packets can decrease the fidelity of the playback
- by exceeding the offset delay; the application then can either
- change the offset delay in order to play back late packets
- (which introduces distortion) or merely discard late packets
- (which creates an incomplete signal). The two different ways
- of coping with late packets offer a choice between an
- incomplete signal and a distorted one, and the optimal choice
- will depend on the details of the application, but the
- important point is that late packets necessarily decrease
- fidelity.
-
- Intolerant applications must use a fixed offset delay, since
- any variation in the offset delay will introduce some
- distortion in the playback. For a given distribution of packet
- delays, this fixed offset delay must be larger than the
- absolute maximum delay, to avoid the possibility of late
- packets. In contrast, tolerant applications need not set their
- offset delay greater than the absolute maximum delay, since
- they can tolerate some late packets. Moreover, tolerant
- applications can vary the offset delay to some extent, as long
- as it doesn't create too much distortion.
-
- Thus, tolerant applications have a much greater degree of
- flexibility in how they set and adjust their offset delay. In
- particular, instead of using a single fixed value for the
- offset delay, they can attempt to reduce their latency by
- varying their offset delays in response to the actual packet
- _________________________
- [Note 4] Obviously, applications lie on a continuum in their sensitivity
- to fidelity. Here we are merely considering two cases as a pedagogical
- device to motivate our service model, which indeed applies to the full
- spectrum of applications.
-
-
-
-
- Shenker, Clark, Zhang [Page 9]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- delays experienced in the recent past. We call applications
- which vary their offset delays in this manner "adaptive"
- playback applications (a more precise term is "delay-adaptive"
- playback applications, to distinguish it from the "rate-
- adaptive" playback applications we discuss below). This
- adaptation amounts to gambling that the past packet delays are
- good predictors of future packet delays; when the application
- loses the gamble there is a momentary loss of data as packets
- miss their playback points, but since the application is
- tolerant of such losses the decreased offset delay may be worth
- it. Besides the issue of inducing late packets, there is a
- complicated tradeoff between the advantage of decreased offset
- delay and the disadvantage of reduced fidelity due to
- variations in the offset. Thus, how aggressively an
- application adapts, or even if it adapts at all, depends on the
- relative ergonomic impact of fidelity and latency. Our main
- observation here, though, is that by adapting to the delays of
- incoming packets, tolerant playback applications can often
- profit by reducing their offset delay when the typical delays
- are well below the absolute maximum; this advantage, of course,
- is accompanied by the risk of occasional late packets.
-
- So far we have assumed that an application's data generation
- process is unalterable. However, there are likely to be many
- audio and video applications which can adjust their coding
- scheme and thus can alter the resulting data generation
- process. This alteration of the coding scheme will present a
- tradeoff between fidelity (of the coding scheme itself, not of
- the playback process) and the bandwidth requirements of the
- flow. Such "rate-adaptive" playback applications have the
- advantage that they can adjust to the current network
- conditions not just by resetting their playback point but also
- by adjusting the traffic pattern itself.
-
- We now state several of our assumptions about the nature of
- future real-time applications. First, we believe that most
- audio and video applications will be playback applications, and
- we therefore think that playback applications will be the
- dominant category of real-time traffic. By designing a service
- model that is appropriate for these playback applications, we
- think we will have satisfactorily (but perhaps not optimally)
- met the needs of all real-time applications. Second, we
- believe that the vast majority of playback applications will be
- tolerant and that many, if not most, of these tolerant playback
- applications will be adaptive. The idea of adaptive
- applications is not relevant to circuit switched networks,
- which do not have jitter due to queueing. Thus, most real-time
- devices today, like voice and video codecs, are not adaptive.
-
-
-
- Shenker, Clark, Zhang [Page 10]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- Lack of widespread experience may raise the concern that
- adaptive applications will be difficult to build. However,
- early experiments suggest that it is actually rather easy.
- Video can be made to adapt by dropping or replaying a frame as
- necessary, and voice can adapt imperceptibly by adjusting
- silent periods. In fact, such adaptive approaches have been
- employed in packetized voice applications since the early 70's
- (see [34,36]); the VT [37], NEVOT [38], and VAT [] packet voice
- protocols, which are currently used to transmit voice on the
- Internet, are living examples of such adaptive applications.
-
- Third, we believe that most playback applications will have
- sufficient buffering to store packets until their playback
- point. We base our belief on the fact that the storage needed
- is a function of the queueing delays, not the total end-to-end
- delay. There is no reason to expect that queueing delays for
- playback applications will increase as networks get faster (in
- fact, for an M/M/1 queueing system with a fixed utilization,
- queueing delays are inversely proportional to the speed), and
- it is certainly true that memory is getting cheaper, so
- providing sufficient buffering will become increasingly
- practical. Fourth, and last, we assume that applications have
- sufficient knowledge about time to set the playback point. The
- notion of a playback application implies that such applications
- have some knowledge about the original generation time of the
- data. This knowledge could either be explicitly contained in
- timestamps, or an approximation could be implicitly obtained by
- knowing the inter-packet generation intervals of the source.
-
- 3.2.2 Elastic Applications
-
- While real-time applications do not wait for late data to
- arrive, elastic applications will always wait for data to
- arrive. It is not that these applications are insensitive to
- delay; to the contrary, significantly increasing the delay of a
- packet will often harm the application's performance. Rather,
- the key point is that the application typically uses the
- arriving data immediately, rather than buffering it for some
- later time, and will always choose to wait for the incoming
- data rather than proceed without it. Because arriving data can
- be used immediately, these applications do not require any a
- priori characterization of the service in order for the
- application to function. Generally speaking, it is likely that
- for a given distribution of packet delays, the perceived
- performance of elastic applications will tend to depend more on
- the average delay than on the tail of the distribution. One
- can think of several categories of such elastic applications:
- interactive burst (Telnet, X, NFS), interactive bulk transfer
-
-
-
- Shenker, Clark, Zhang [Page 11]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- (FTP), and asynchronous bulk transfer (electronic mail, FAX).
- The delay requirements of these elastic applications vary from
- rather demanding for interactive burst applications to rather
- lax for asynchronous bulk transfer, with interactive bulk
- transfer being intermediate between them.
-
- Some elastic applications, like Telnet, have an intrinsic data
- generation process which is largely independent of network
- conditions. However, there are many elastic applications, in
- particular those involving bulk transfer, which can alter their
- packet transmission process.
-
- 3.3 Delay Service Models
-
- We now turn to describing service models that are appropriate for
- the various classes of applications that were discussed in the
- previous paragraphs. Since we are assuming that playback
- applications comprise the bulk of the real-time traffic, we must
- design service models for intolerant playback applications,
- tolerant playback applications (which can be either adaptive or
- non-adaptive), rate-adaptive playback applications (which can be
- either tolerant or intolerant), and elastic applications.
-
- The offset delay of intolerant playback applications must be no
- smaller than the maximum packet delay to achieve the desired
- faithful playback. Furthermore, this offset delay must be set
- before any packet delays can be observed. Such an application can
- only set its offset delay appropriately if it is given a perfectly
- reliable [Note 5] upper bound on the maximum delay of each packet.
- We call a service characterized by a perfectly reliable upper
- bound on delay "guaranteed service", and propose this as the
- appropriate service model for intolerant playback applications.
- Note that the delay bound not only allows the application to set
- its offset delay appropriately, but it also provides the
- information necessary to predict the resulting latency of the
- application.
-
- Since such an intolerant playback application will queue all
- packets until their respective playback points, application
- performance is completely independent of when the packets arrive,
- as long as they arrive within the delay bound. The fact that we
- assume that there is sufficient buffering means that we need not
- _________________________
- [Note 5] By perfectly reliable, we mean that the bound is based on worst
- case assumptions about the behavior of all other flows. The validity of
- the bound is predicated on the proper functioning of all network
- hardware and software along the path of the flow.
-
-
-
-
- Shenker, Clark, Zhang [Page 12]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- provide a nontrivial lower bound to delay; only the trivial "no-
- queueing" minimum delay will be given as part of the service
- specification.
-
- A tolerant playback application which is not adaptive will also
- need some form of a delay bound so that it can set its offset
- delay appropriately. Since the application is tolerant of
- occasional late packets, this bound need not be perfectly
- reliable. For this class of applications we propose a service
- model called "predictive service" which supplies a fairly
- reliable, but not perfectly reliable, delay bound. For this
- service, the network advertises a bound which it has reason to
- believe with great confidence will be valid, but cannot formally
- "prove" its validity [Note 6] violated, the application's
- performance will perhaps suffer, but the users are willing to
- tolerate such interruptions in service in return for the presumed
- lower cost of the service and lower realized delays [Note 7]
-
- It is important to emphasize that this is "not" a statistical
- bound, in that no statistical failure rate is provided to the
- application in the service description. We do not think it
- feasible to provide a statistical characterization of the delay
- distribution because that would require a detailed statistical
- characterization of the load. We do envision the network ensuring
- the reliability of these predictive bounds, but only over very
- long time scales; for instance, the network could promise that no
- more than a certain fraction of packets would violate the
- predictive bounds over the course of a month [Note 8] is not a
- _________________________
- [Note 6] This bound, in contrast to the bound in the guaranteed service,
- is not based on worst case assumptions on the behavior of other flows.
- Instead, this bound might be computed with properly conservative predic-
- tions about the behavior of other flows.
- [Note 7] For nonadaptive applications, the realized latency is lower
- with predictive service since the fairly reliable bounds will be less
- conservative than the perfectly reliable bounds of guaranteed service.
- For adaptive applications, as we discuss below, the minimax component of
- predictive service can, and we expect usually will, reduce the average
- latency, i.e. the average value of the offset delay, to be well below
- the advertised bound.
- [Note 8] Such an assurance is not meaningful to an individual flow,
- whose service over a short time interval might be significantly worse
- than the nominal failure rate. We envision that such assurances would
- be directed at the regulatory bodies which will supervise the adminis-
- tration of such networks. However, we should note that there may very
- well be pricing schemes which refund money if the service delivered to
- an individual application doesn't meet some standard (such as a given
- fraction of packets obey the delay bound); this is not a service commit-
-
-
-
- Shenker, Clark, Zhang [Page 13]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- prediction of performance but rather a commitment to adjust its
- bound-setting algorithm to be sufficiently conservative.
-
- All nonadaptive applications, whether tolerant or not, need an "a
- priori" delay bound in order to set their offset delay; the degree
- of tolerance only determines how reliable this bound must be. In
- addition to being necessary to set the offset delay, these delay
- bounds provide useful estimates of the resulting latency.
- Nonadaptive tolerant applications, like the intolerant
- applications considered above, are indifferent to when their
- packets arrive, as long as they arrive before the delay bound.
-
- Recall, however, that we are assuming that many, if not most,
- tolerant playback applications are adaptive. Thus, we must design
- the service model with such adaptation in mind. Since these
- applications will be adapting to the actual packet delays, a delay
- bound is not needed to set the offset delay. However, in order to
- choose the appropriate level of service, applications need some
- way of estimating their performance with a given level of service.
- Ideally, such an estimate would depend on the detailed packet
- delay distribution. We consider it impractical to provide
- predictions or bounds on anything other than the extremal delay
- values. Thus, we propose offering the same predictive service to
- tolerant adaptive applications, except that here the delay bound
- is not primarily used to set the offset delay (although it may be
- used as a hint) but rather is used to predict the likely latency
- of the application.
-
- The actual performance of adaptive applications will depend on the
- tail of the delay distribution. We can augment the predictive
- service model to also give "minimax" service, which is to attempt
- to minimize the ex post maximum delay. This service is not trying
- to minimize the delay of every packet, but rather is trying to
- pull in the tail of the distribution. Here the fairly reliable
- predictive delay bound is the quantitative part of the service
- commitment, while the minimax part of the service commitment is a
- relative service commitment. We could offer separate service
- models for adaptive and nonadaptive tolerant playback
- applications, with both receiving the predictive service as a
- quantitative service commitment and with only adaptive
- applications receiving the minimax relative commitment. However,
- since the difference in the service models is rather minor, we
- choose to only offer the combination of predictive and minimax
- service.
-
- _________________________
- ment but rather a monetary one.
-
-
-
-
- Shenker, Clark, Zhang [Page 14]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- It is clear that given a choice, with all other things being
- equal, an application would perform no worse with absolutely
- reliable bounds than with fairly reliable bounds. Why, then, do
- we offer predictive service? The key consideration here is
- efficiency [Note 9] ; when one relaxes the service requirements
- from perfectly to fairly reliable bounds, this increases the level
- of network utilization that can be sustained, and thus the price
- of the predictive service will presumably be lower than that of
- guaranteed service. The predictive service class is motivated by
- the conjecture that the performance penalty will be small for
- tolerant applications but the overall efficiency gain will be
- quite large.
-
- As we discussed above, both of these service models have a
- quantitative component. In order to offer this service, the nature
- of the traffic from the source must be characterized, and there
- must be some admission control algorithm which insures that a
- requested flow can actually be accommodated. This
- characterization will not be a detailed statistical
- characterization (we do not believe applications will be able to
- provide those) but instead will be a worst-case characterization;
- the flow will commit to not exceed some usage envelope or filter
- (e.g., a token bucket or leaky bucket). A fundamental point of
- our overall architecture is that traffic characterization and
- admission control are necessary for these real-time delay bound
- services. For rate-adaptive applications, these traffic
- characterizations are not immutable. We can thus augment the
- service model by allowing the network to notify (either implicitly
- through packet drops or explicitly through control packets) rate-
- adaptive applications to change their traffic characterization.
- We will discuss this more thoroughly in Section 32.
-
- The fourth category for which we must develop a service model is
- elastic applications. Elastic applications are rather different
- than playback applications; while playback applications hold
- packets until their playback time, elastic applications use the
- packet whenever it arrives. Thus, reducing the delays of any
- packet tends to improve performance. Furthermore, since there is
- no offset delay, there is no need for an "a priori"
- characterization of the delays. An appropriate service model is
- to provide "as-soon-as-possible", or ASAP service, which is a
- relative, not quantitative, commitment [Note 10]. Elastic
- _________________________
- [Note 9] Efficiency can be thought of as the number of applications that
- can be simultaneously serviced with a given amount of bandwidth; for a
- fuller definition, see [,].
- [Note 10] We choose not to use the term "best-effort" for the ASAP ser-
- vice since that connotes the FIFO service discipline.
-
-
-
- Shenker, Clark, Zhang [Page 15]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- applications vary greatly in their sensitivity to delay (which, as
- we mentioned earlier, is probably more a function of the average
- delay than of the maximum delay), and so the service model for
- elastic traffic should distinguish between the various levels of
- delay sensitivity. We therefore propose a multiclass ASAP service
- model to reflect the relative delay sensitivities of different
- elastic applications. This service model allows interactive burst
- applications to have lower delays than interactive bulk
- applications, which in turn would have lower delays than
- asynchronous bulk applications. In contrast to the real-time
- service models, this service model does not provide any
- quantitative service commitment, and thus applications cannot
- predict their likely performance and are also not subject to
- admission control. However, we think that rough predictions about
- performance, which are needed to select a service class, could be
- based on the ambient network conditions and historical experience.
- If the network load is unusually high, the delays will degrade and
- the users must be prepared to tolerate this, since there was no
- admission control to limit the total usage.
-
- However, there may be some cases where an application (or the user
- of the application) might want to know more precisely the
- performance of the application in advance. For instance, a Telnet
- user might want to ensure that the delays won't interfere with her
- typing. For these cases, the application can request predictive
- service (since the firmness of the guaranteed bound is probably
- not required) provided it is willing to specify the maximum
- transmission rate desired. Note that since the network will then
- require compliance with the advertised transmission rate, the
- application cannot get a higher throughput rate than what it
- requested.
-
- There are two issues regarding the elastic service model [Note 11]
- that we do not address in this memo, and propose that these issues
- be revisited once the rest of the core service model is defined.
- First, there is the issue of relative treatment of flows. One
- could treat each elastic packet independently, and allocate
- service based merely on time-of-arrival and the level of ASAP
- service requested. Alternatively, one could also attempt to
- control the aggregate resources used by each individual flow, such
- as is done in the Fair Queueing service model as described in [].
- We do not address the relative treatment of various flows at this
- time, since it will not affect the basic service interface.
- _________________________
- [Note 11] We have used the convenient, but perhaps confusing convention,
- of referring to elastic service and real-time service when in fact the
- terms real-time and elastic refer to a class of applications.
-
-
-
-
- Shenker, Clark, Zhang [Page 16]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- Second, there is the issue of feedback. As we noted before, some
- elastic applications can adjust their transmis pattern. This
- adjustment can be in response to implicit signals, such a packet
- drops or delay, or explicit signals such as congestion bits in the
- packet header or separate control packets. Again, we do not
- address at this time the form or content of such feedback signals
- since they do not affect the basic service interface.
-
- At the beginning of this section, we made the initial assumption
- that delay was the only quality of service about which the network
- needed to make commitments. We now revisit this issue and ask if
- that is indeed the case. For the typical real-time or elastic
- application which cares about the delays of individual packets,
- there seems to be no need to include any other quality of service.
- However, we observed earlier that there are some applications,
- such as transfers of very long files, which are essentially
- indifferent to the delays of individual packets and are only
- concerned with overall delay of the transfer. For these
- "indifferent" applications, bandwidth rather than delay is a more
- natural characterization of the desired service, since bandwidth
- dictates the application performance. If such an application has
- no intrinsic overall delay requirement, then the desired service
- is to finish the transfer as quickly as possible. The desired
- service is "as-much-bandwidth-as-possible". By servicing packets
- as soon as possible, the ASAP service described above delivers
- exactly this as-much-bandwidth-as-possible service. Thus, while
- we did not explicitly consider bulk transfer applications, our
- proposed service model already provides the desired service for
- bulk transfer applications with no intrinsic overall delay
- requirements.
-
- However, if this bulk transfer application had some intrinsic
- overall delay requirement, i.e. it required the transfer to be
- completed within a certain time, then the ASAP service is no
- longer sufficient. Now, the appropriate service is to allow the
- application to request a specified amount of bandwidth; the
- application chooses this bandwidth amount so that the transfer
- will be completed in time. An application can secure a given
- amount of bandwidth through either of the real-time services. The
- per-packet delay bounds provided by these real-time services are
- superfluous to bulk transfer applications with overall delay
- requirements. While one could imagine a different service which
- provided a commitment on bandwidth but not per-packet delay, the
- difference between requesting a large delay bound and no delay
- bound is rather insignificant, and thus we expect that such
- indifferent applications with delay requirements will be
- adequately served by predictive service with very large delay
- bounds. This has the disadvantage that indifferent applications
-
-
-
- Shenker, Clark, Zhang [Page 17]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- with delay requirements do not get as-much-bandwidth-as-possible,
- but are constrained to their reserved amount.
-
-
-
- Applications
- / \
- / \
- / \
- Elastic Real-Time
- / | \
- / | \ / \
- / | \ / \
- / | \ / \
- Interactive Interactive Asynchronous Tolerant Intolerant
- Burst Bulk Bulk | |
- | | | | |
- | | | | |
- V V V V V
- _________ _________ _________ __________ __________
- | ASAP | | ASAP | | ASAP | |Predictive| |Guaranteed|
- | Level 1 | | Level 2 | | Level 3 | | Minimax | | |
- |_________| |_________| |_________| |__________| |__________|
-
- Figure 1: Our rough taxonomy of applications and their associated
- service models. We have arbitrarily depicted three levels of ASAP
- service.
-
-
- Figure depicts our taxonomy of applications and the associated
- service models. This taxonomy is neither exact nor complete, but
- was only used to guide the development of the core service model.
- The resulting core service model should be judged not on the
- validity of the underlying taxonomy but rather on its ability to
- adequately meet the needs of the entire spectrum of applications.
- In particular, not all real-time applications are playback
- applications; for example, one might imagine a visualization
- application which merely displayed the image encoded in each
- packet whenever it arrived. However, non-playback applications
- can still use either the guaranteed or predictive real-time
- service model, although these services are not specifically
- tailored to their needs. Similarly, playback applications cannot
- be neatly classified as either tolerant or intolerant, but rather
- fall along a continuum; offering both guaranteed and predictive
- service allows applications to make their own tradeoff between
- cost, fidelity, and latency. Despite these obvious deficiencies
- in the taxonomy, we expect that it describes the service
- requirements of current and future applications well enough so
-
-
-
- Shenker, Clark, Zhang [Page 18]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- that our core service model can adequately meet all application
- needs.
-
- We have defined the core service model in terms of point-to-point
- flows. We can easily generalize this service model to incorporate
- multipoint-to-multipoint flows. Clearly for elastic traffic there
- is no change to the service model. For the real-time service
- models, the delay bounds are specified for each point-to-point
- pair, and the traffic characterizations apply to the sum of the
- flow's traffic at each hop along the flow's path.
-
- 4 Resource-Sharing Requirements and Service Models
-
- The last section considered quality of service commitments; these
- commitments dictate how the network must allocate its resources among
- the individual flows. This allocation of resources is typically
- negotiated on a flow-by-flow basis as each flow requests admission to
- the network, and does not address any of the policy issues that arise
- when one looks at collections of flows. To address these collective
- policy issues, we now discuss resource-sharing service commitments.
- Recall that for individual quality of service commitments we focused
- on delay as the only quantity of interest. Here, we postulate that
- the quantity of primary interest in resource-sharing is aggregate
- bandwidth on individual links. Our reasoning for this is as follows.
- Meeting individual application service needs is the task of quality
- of service commitments; however, both the number of quantitative
- service commitments that can be simultaneously made, and the
- quantitative performance delivered by the relative service
- commitments, depend on the aggregate bandwidth. Thus, when
- considering collective entities we claim that we need only control
- the aggregate bandwidth available to the constituent applications; we
- can deal with all other performance issues through quality of service
- commitments to individual flows. Embedded within this reasoning is
- the assumption that bandwidth is the only scarce commodity; if
- buffering in the switches is scarce then we must deal with buffer-
- sharing explicitly, but we contend that switches should be built with
- enough buffering so that buffer contention is not the primary
- bottleneck.
-
- Thus, this component of the service model, called "link-sharing",
- addresses the question of how to share the aggregate bandwidth of a
- link among various collective entities according to some set of
- specified shares. There are several examples that are commonly used
- to explain the requirement of link-sharing among collective entities.
-
- Multi-entity link-sharing. -- A link may be purchased and used
- jointly by several organizations, government agencies or the like.
- They may wish to insure that under overload the link is shared in a
-
-
-
- Shenker, Clark, Zhang [Page 19]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- controlled way, perhaps in proportion to the capital investment of
- each entity. At the same time, they might wish that when the link is
- underloaded, any one of the entities could utilize all the idle
- bandwidth.
-
- Multi-protocol link-sharing -- In a multi-protocol Internet, it may
- be desired to prevent one protocol family (DECnet, IP, IPX, OSI, SNA,
- etc.) from overloading the link and excluding the other families.
- This is important because different families may have different
- methods of detecting and responding to congestion, and some methods
- may be more "aggressive" than others. This could lead to a situation
- in which one protocol backs off more rapidly than another under
- congestion, and ends up getting no bandwidth. Explicit control in the
- router may be required to correct this. Again, one might expect that
- this control should apply only under overload, while permitting an
- idle link to be used in any proportion.
-
- Multi-service sharing -- Within a protocol family such as IP, an
- administrator might wish to limit the fraction of bandwidth allocated
- to various service classes. For example, an administrator might wish
- to limit the amount of real-time traffic to some fraction of the
- link, to avoid preempting elastic traffic such as FTP.
-
- In general terms, the link-sharing service model is to share the
- aggregate bandwidth according to some specified shares; however, one
- must be careful to state exactly what this means. The following
- example will highlight some of the policy issues implicit in link-
- sharing. Consider three firms, 1, 2, and 3, who respectively have
- shares 1/4, 1/4, and 1/2 of some link. Assume that for a certain
- hour, firm 1 sends no traffic to the link while firms 2 and 3 each
- send enough to use the entire capacity of the link. Are firms 2 and
- 3 restricted to only using their original shares of the link, or can
- they use firm 1's unused bandwidth? Assume for now that they are
- allowed to use firm 1's unused bandwidth. Then, how is firm 1's
- share of the link split between firms 2 and 3? If, in the next
- twenty minutes, all three firms each send enough traffic to consume
- the entire link, is the link allocated solely to firm 1 in order to
- make up for the imbalance in aggregate bandwidth incurred during the
- first hour, or is the link shared according to the original shares?
- Thus, there are three policy questions to be resolved: can firms use
- each other's unused bandwidth, how is this unused bandwidth allocated
- to the remaining firms, and over what time scale is the sharing of
- bandwidth measured? Clearly the answer to the first question must be
- affirmative, since much of the original motivation for link-sharing
- is to take advantage of the economies of statistical aggregation. As
- for the second question, one can imagine many rules for splitting up
- the excess bandwidth but here we propose that the excess is assigned
- in proportion to the original shares so that in the above example
-
-
-
- Shenker, Clark, Zhang [Page 20]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- during the first hour the link would be split 1/3, 2/3 for firms 2
- and 3 respectively. The answer to the third question is less clear.
- The preceding example indicates that if sharing is measured over some
- time scale T then a firm's traffic can be halted for a time on the
- order of T under certain conditions; since such cessation should be
- avoided, we propose doing the sharing on an instantaneous basis
- (i.e., the limit of T going to zero). This would dictate that during
- this next twenty minutes the bandwidth is split exactly according to
- the original shares: 1/4, 1/4, and 1/2. This policy embodies a
- "use-it-or-lose-it" philosophy in that the firms are not given credit
- at a later date for currently unused bandwidth.
-
- An idealized fluid model of instantaneous link-sharing with
- proportional sharing of excess is the fluid processor sharing model
- (introduced in [] and further explored in [29,18]) where at every
- instant the available bandwidth is shared between the active entities
- (i.e., those having packets in the queue) in proportion to the
- assigned shares of the resource. More specifically, we let mu be the
- speed of the link and we give each entity i its own virtual queue
- which stores its packets as they await service. For each entity i we
- define the following quantities: s_i, the share of the link; c_i(t),
- the cumulative number of bits in the traffic stream that have arrived
- by time t; and the backlog b_i(t), the number of bits remaining in
- the virtual queue at time t. Whenever a real packet arrives at the
- switch belonging to entity i, we place a corresponding idealized
- packet at the tail of that entity's virtual queue. The service
- within each such virtual queue is FIFO. We now describe how service
- is allocated among the different virtual queues. The idealized
- service model is defined by the equations:
-
- b_i'(t) = c_i' - min( S_i*L, c_i' ) if b_i(t) = 0 (1)
-
- and
-
- b_i'(t) = c_i' - s_i*L if b_i(t) > 0 (2)
-
- where prime represents differentiation with respect to time and L
- is the unique constant that makes:
-
- (Sum over i of b_i' ) = Mu - ( Sum over i of c_i' );
-
- when no such value exists, we set L to infinity.
-
- At every instant the excess bandwidth, that is the bandwidth left
- over from flows not using their entire share of bandwidth, is split
- among the active entities (i.e., those with bi>0) in proportion to
- their shares; each active [Note 12] entity receives an instantaneous
- _________________________
-
-
-
- Shenker, Clark, Zhang [Page 21]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- bandwidth that is greater than or equal to their share of the full
- transmission rate.
-
- This fluid model exhibits the desired policy behavior but is, of
- course, an unrealistic idealization. We then propose that the actual
- service model should be to approximate, as closely as possible, the
- bandwidth shares produced by this ideal fluid model. It is not
- necessary to require that the specific order of packet departures
- match those of the fluid model since we presume that all detailed
- per-packet delay requirements of individual flows are addressed
- through quality of service commitments and, furthermore, the
- satisfaction with the link-sharing service delivered will probably
- not depend very sensitively on small deviations from the scheduling
- implied by the fluid link-sharing model. The link-sharing service
- model provides quantitative service commitments on bandwidth shares
- that the various entities receive.
-
- Heretofore we have considered link-sharing across a set of entities
- with no internal structure to the entities themselves. However, the
- various sorts of link-sharing requirements presented above could
- conceivably be nested into a hierarchy of link-sharing requirements,
- an idea first proposed by Jacobson and Floyd [11]. For instance, a
- link could be divided between a number of organizations, each of
- which would divide the resulting allocation among a number of
- protocols, each of which would be divided among a number of services.
- We propose extending the idealized link-sharing service model
- presented above to the hierarchical case. The policy desires will be
- represented by a tree with shares assigned to each node; the shares
- belonging to the children of each node must sum to the share of the
- node, and the top node represents the full link and has a unit share.
- Furthermore, each node has an arrival stream described by ci(t) and a
- backlog b_i(t) with the quantities of the children of each node
- summing to the quantity of the node. Then, at each node we invoke
- the fluid processor sharing model among the children, with the
- instantaneous link speed at the i'th node, mu_i(t), set equal to the
- rate b_i'(t) at which bits are draining out of that node's virtual
- queue. We can start this model at the top node; when propagated down
- to the leaf nodes, or bottom-level entities, this determines the
- idealized service model.
-
- The introduction of a hierarchy raises further policy questions which
- are illustrated by the following example depicted in Figure `a' and
- `b'. Let us assume that each of the bottom-level entities, 1a, 1b, 2a
- and 2b, has a 1/4 share of the link. When all of the bottom-level
- _________________________
- [Note 12] There are three states a flow can be in: active (b_i>0), inac-
- tive (b_i=0 and c_i'=0), and in-limbo (b_i=0 but c_i'>0).
-
-
-
-
- Shenker, Clark, Zhang [Page 22]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- entities are sending enough to consume their share, the bandwidth is
- split exactly according to these shares. Now assume that at some
- instant there is no offered 2b traffic. Should each of 1a,1b and 2a
- get 1/3 of the link, or should 1a and 1b continue to get 1/4, with 2a
- getting the remaining 1/2 share of the link which is the total of the
- shares belonging to firm 2? This is a policy question to be
- determined by the firms, so the service model should allow either.
- Figure depicts two possible sharing trees. Tree #1 in the figure
- produces the 1/4, 1/4, 1/2 sharing whereas tree #2 produces the 1/3,
- 1/3, 1/3 sharing. When the link-sharing service commitment is
- negotiated, it will be specified by a tree and an assignment of
- shares for the nodes.
-
-
- Link
- / \ Link
- / \
- / \ / / \ \
- 1 2 / / \ \
- / \ / \ / | | \
- / \ / \ / | | \
- 1a 1b 2a 2b 1a 1b 2a 2b
-
- Tree #1 Tree #2
-
- Figure 2: Two possible sharing trees with equal shares at
- all leaf nodes. When one of the leaf nodes is not active,
- the trees produce different bandwidth shares for the
- remaining active nodes.
-
-
- In the hierarchical model, the bandwidth sharing between the children
- of a given node was independent of the structure of the
- grandchildren. One can think of far more general link-sharing
- service models. Assume that in the example above that protocol `a'
- carries traffic from applications with tight delay requirements and
- protocol `b' carries traffic from applications with loose delay
- requirements. The two firms might then want to implement a sharing
- policy that when 1a is not fully using its share of the link, the
- excess is shared equally among 1b and 2a, but when 1b is not fully
- using its share of the link we will give the excess exclusively to
- 1a. To implement this more complicated policy, it is necessary to
- take the grandchildren structure into account. We think that this
- sort of flexibility is probably not needed, for the same reason that
- we restricted ourselves to bandwidth as the only collective concern;
- quality of service issues should be addressed via quality of service
- commitments and not through the link-sharing service model. For this
- same reason, we do not make priority distinctions between the various
-
-
-
- Shenker, Clark, Zhang [Page 23]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- nodes, but merely allocate shares of bandwidth. Therefore, for our
- resource-sharing service model we restrict ourselves to the
- hierarchical service model presented above.
-
- In Section 31 we observed that admission control was necessary to
- ensure that the real-time service commitments could be met.
- Similarly, admission control will again be necessary to ensure that
- the link-sharing commitments can be met. For each bottom-level
- entity, admission control must keep the cumulative guaranteed and
- predictive traffic from exceeding the assigned link-share.
-
- 5 Denial of Service
-
- To meet its quantitative service commitments, the network must employ
- some form of admission control. Without the ability to deny flows
- admission to the network, one could not reliably provide the various
- delay bound services offered by our service model. In fact,
- admission control is just one aspect of denial of service; there are
- several other ways in which service can be denied. Denial of
- service, in all of its incarnations, plays a fundamental role in
- meeting quantitative service commitments. In particular, denial of
- service can be used to augment the resource sharing portion of the
- core service model by supporting utilization targets. Moreover,
- denial of service, through the use of the preemptable and expendable
- service options discussed below, can enable the network to meet its
- service commitments while still maintaining reasonably high levels of
- network utilization.
-
- Denial of service, like service commitments, can occur at various
- levels of granularity. Specifically, denial of service can apply to
- whole flows, or to individual packets within a flow. We discuss
- these two cases separately.
-
- 5.1 Denial to Flows
-
- Denial of service to a flow can occur either before or during the
- lifetime of that flow. Denying service to a flow before it enters
- the network is typically referred to as admission control. As we
- envision it, in order to receive either of the two real-time
- bounded delay services (guaranteed and predictive), a flow will
- have to explicitly request that service from the network, and this
- request must be accompanied by a worst-case characterization of
- the flow's traffic stream. This characterization gives the
- network the information necessary to determine if it can indeed
- commit to providing the requested delay bounds. The request is
- denied if the network determines that it cannot reliably provide
- the requested service. References [7,20,22,24] discuss various
- approaches to admission control.
-
-
-
- Shenker, Clark, Zhang [Page 24]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- In addition, a service model could offer a "preemptable" flow
- service, presumably for a lower cost than non-preemptable service.
- When the network was in danger of not meeting some of its
- quantitative service commitments, or even if the network was
- merely having to deny admission to other flows, then it could
- exercise the "preemptability option" on certain flows and
- immediately discontinue service to those flows by discarding their
- packets (and, presumably, sending a control message informing
- those flows of their termination). By terminating service to
- these preemptable flows, the service to the flows that are
- continuing to receive service will improve, and other non-
- preemptable flows can be admitted.
-
- Recall that rate-adaptive flows are able to adjust their
- transmission rate. For these flows we can offer an "adjustable"
- flow service, again presumably for a lower cost than the regular
- non-preemptable, non-adjustable service. When the network was in
- danger of not meeting some of its quantitative service
- commitments, or even if the network was merely having to deny
- admission to other flows, then it could exercise the
- "adjustability option" of these flows and request that they reduce
- their transmission rate. Similarly, when the network had spare
- capacity, it could inform these flows that they could increase
- their transmission rate.
-
- Admission control can be used to augment the link-sharing service
- model described in the previous section. Link-sharing uses packet
- scheduling to provide quantitative service commitments about
- bandwidth shares. This service is designed to provide sharing
- between various entities which have explicitly contracted with the
- network to manage that sharing. However, there are other
- collective policy issues that do not involve institutional
- entities, but rather concern overall utilization levels of the
- various service classes (guaranteed, predictive, ASAP). Because
- they are not explicitly negotiated, and so no service commitments
- are at stake, these utilization levels are not controlled by
- packet scheduling but instead are controlled by the admission
- control algorithm. All real-time flows are subject to scrutiny by
- the admission control process; only those flows that are accepted
- can use the network. If the admission control algorithm used the
- criteria that a flow was accepted if and only if it could be
- accepted without violating other quality of service commitments,
- then the utilization levels of the various classes will depend
- crucially on the order in which the service requests arrived to
- the network. One might desire, instead, to make explicit policy
- choices about these various level of utilization. For instance,
- it is probably advisable to prevent starvation of any particular
- class of traffic; an explicit control would be needed to prevent
-
-
-
- Shenker, Clark, Zhang [Page 25]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- starvation of elastic traffic since the ASAP service does not
- involve resource reservation. In addition, one might want the
- admissions process to ensure that requests for large amounts of
- bandwidth were not always squeezed out by numerous smaller
- requests.
-
- To prevent such problems, we must introduce some guidelines,
- called "utilization targets", into the admission control algorithm
- so that the utilization levels are not just dependent on the
- details of the load pattern but instead are guided towards some
- preferred usage pattern. This utilization target service model
- involves only admission control; thus, it is not properly part of
- the core service model. We mention utilization targets here
- because other aspects of the core service model rely on these
- utilization targets, and also because it is so similar to the
- link-sharing model, in that it represents policy objectives for
- aggregated classes of traffic.
-
- 5.2 Denial To Packets
-
- While denial of service is usually associated with admission
- control, it also can be performed on a packet-by-packet
- granularity. Denial of service to individual packets could occur
- by means of a "preemptable" packet service, whereby flows would
- have the option of marking some of their packets as preemptable.
- When the network was in danger of not meeting some of its
- quantitative service commitments, it could exercise a certain
- packet's "preemptability option" and discard the packet (not
- merely delay it, since that would introduce out-of-order
- problems). By discarding these preemptable packets, the delays of
- the not-preempted packets will be reduced.
-
- The basic idea of allowing applications to mark certain packets to
- express their "drop preference" and then having the network
- discard these packets if the network is congested has been
- circulating in the Internet community for years, and has been
- simulated in Reference []. The usual problem in such a scheme is
- defining what congestion means. In the Internet, with its simple
- service model, one usually equates congestion with the presence of
- a sizable queue. However, this is a network-centric definition
- that is not directly related to the quality of service desired by
- the various applications. In contrast, in our setting, we can
- make a very precise definition of congestion that is directly tied
- to the applications' service requirements: congestion is when some
- of the quantitative service commitments are in danger of being
- violated. The goal of admission control is to ensure that this
- situation arises extremely infrequently.
-
-
-
-
- Shenker, Clark, Zhang [Page 26]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- The basic idea of preemptability can usefully be extended in two
- directions. First, for the purposes of invoking the
- preemptability options, one can stretch the definition of a
- quantitative service commitment to include implicit commitments
- such as compliance with the historical record of performance.
- That is, one could choose to drop packets to make sure that the
- network continued to provide service that was consistent with its
- past history, even if that past history was never explicitly
- committed to. Furthermore, one could also extend the definition
- of a quantitative service commitment to the utilization targets
- discussed above.
-
- Second, one can define a class of packets which are not subject to
- admission control. In the scenario described above where
- preemptable packets are dropped only when quantitative service
- commitments are in danger of being violated, the expectation is
- that preemptable packets will almost always be delivered and thus
- they must included in the traffic description used in admission
- control. However, we can extend preemptability to the extreme
- case of "expendable" packets (the term expendable is used to
- connote an extreme degree of preemptability), where the
- expectation is that many of these expendable packets will not be
- delivered. One can then exclude expendable packets from the
- traffic description used in admission control; i.e., the packets
- are not considered part of the flow from the perspective of
- admission control, since there is no commitment that they will be
- delivered. Such expendable packets could be dropped not only when
- quantitative service commitments are in danger of being violated,
- but also when implicit commitments and utilization targets, as
- described above, are in danger of being violated.
-
- The goal of these preemptable and expendable denial of service
- options (both at the packet and flow level of granularity) is to
- identify and take advantage of those flows that are willing to
- suffer some interruption of service (either through the loss of
- packets or the termination of the flow) in exchange for a lower
- cost. The preemptable flows and packets provide the network with
- a margin of error, or a "cushion", for absorbing rare statistical
- fluctuations in the load. This will allow the network to operate
- at a higher level of utilization without endangering the service
- commitments made to those flows who do not choose preemptable
- service. Similarly, expendable packets can be seen as "filler"
- for the network; they will be serviced only if they do not
- interfere with any service commitment but there is no expectation
- that their being dropped is a rare event. This will increase the
- level of utilization even further. We will not specify further
- how these denial of service, or preemptability, options are
- defined, but clearly there can be several levels of
-
-
-
- Shenker, Clark, Zhang [Page 27]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- preemptability, so that an application's willingness to be
- disrupted can be measured on more than a binary scale.
-
- 6 Alternative Viewpoints
-
- In this section, we discuss several other viewpoints on the problem
- of providing integrated services.
-
- 6.1 Scheduling Algorithms vs. Service Models
-
- The motivating principle of this memo is that the service model is
- primary. However, one could contend that because we do not yet
- know the service needs of future applications, the most important
- goal is to design flexible and efficient packet scheduling
- implementations. Obviously both packet scheduling implementations
- and service models are tremendously important, but the debate here
- is over which one should guide the design of the Internet. There
- are three points to be made.
-
- First, the service model must be made explicit to application
- designers. Currently, there are a rather limited number of
- network-intensive applications; the network can, to a large
- extent, determine the service requirements of a packet by
- inspecting the port number. However, as the variety of network-
- intensive applications increases, and as the service requirements
- of these applications begin to depend on the user's personal
- demands (e.g., high and low priority mail, high and low quality
- video from the same codec, etc.), port numbers will no longer be
- sufficient to identify service requirements. Rather than having
- the network implicitly deliver the appropriate service, the
- applications will have to explicitly request the desired service.
- For this to happen, the service model must be made explicit (so
- that application designers know about it), and it obviously must
- remain relatively stable; the service model should not just be
- implicitly defined by the packet scheduling implementation. Thus,
- regardless of whether the packet scheduling algorithm is flexible
- or not, the service model must be made explicit and remain
- relatively stable.
-
- Second, there is a fundamental difference in the time-scale over
- which packet scheduling implementations and service models have
- impact. Once a router vendor with a substantial market presence
- adopts a new packet scheduling implementation, it will likely
- remain fixed for several years. So, in the short term, we need to
- ensure that such packet scheduling implementations embody enough
- flexibility to adapt if a new service model is adopted, or the
- current service model is extended, during the product's lifetime.
- However, router technology, and the embedded packet scheduling
-
-
-
- Shenker, Clark, Zhang [Page 28]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- implementations, do evolve as new products are introduced, and so
- one cannot expect that packet scheduling implementations will
- remain fixed for many years. On the other hand, the time scale of
- service models is rather different. It typically takes much
- longer for a new service model to become adopted and utilized,
- because it must be embedded in user applications. However, once a
- service model does become adopted it is much harder to change, for
- precisely the same reason. Thus, we can say that while the set of
- packet scheduling implementations will likely freeze first, the
- service model freezes harder. For this reason we choose to focus
- on the service model.
-
- Third, the role of flexibility must be clarified. The services
- offered to individual flows by a packet scheduling algorithm must
- be part of a service model and, as we argued above, the service
- model does not change rapidly (except in experimental networks,
- where perhaps using flexible and efficient packet scheduling
- implementations is important); in particular, we expect service
- models to change much less rapidly than packet scheduling
- algorithms. Thus, for quality of service commitments to
- individual flows, flexibility is not of great importance.
- However, the link-sharing portion of the service model is not
- exercised by individual applications but rather by network
- managers through some network management interface. This portion
- of the service model can change much more rapidly, so flexibility
- is indeed important for link-sharing and other forms of resource
- sharing. The debate over the relative importance of service
- models and packet scheduling implementations reflects, at least in
- part, a deeper disagreement over the extent to which quality of
- service needs are met indirectly by link-sharing, which controls
- the aggregate bandwidth allocated to various collective entities,
- as opposed to being met directly by quality of service commitments
- to individual flows. Actually, the important distinction here is
- not between link-sharing and delay related services, but rather
- between those services which require explicit use of the service
- interface, and those that are delivered implicitly (i.e., based on
- information automatically included in the packet header such as
- port numbers). Network architectures designed around such
- implicit quality of service mechanisms do not require a well-
- defined service model; the network architecture we have advocated
- involves explicit quality of service mechanisms and therefore
- requires a stable service model.
-
- 6.2 Why Use Admission Control?
-
- Real-time service plays a central role in the proposed service
- model. We should note that there is another viewpoint on this
- issue, which has not yet been adequately articulated in the
-
-
-
- Shenker, Clark, Zhang [Page 29]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- literature. It is conceivable that the combination of adaptive
- applications and sufficient overprovisioning of the network could
- render such delay bounds, with the associated need for admission
- control, unnecessary; applications could adapt to current network
- conditions, and the overprovisioning would ensure that the network
- was very rarely overloaded [Note 13] In this view, it would be
- sufficient to provide only the several classes of ASAP service
- without "any" real-time services. The first question is, can one
- indeed overprovision the network so that it is extremely rarely
- overloaded? It is true that the statistical demand in the phone
- network is well characterized, and overprovisioning has become a
- finely honed art. However, there are three crucial differences
- between the phone network and the Internet which lead us to the
- conclusion that the extreme variability of the offered load will
- require too great a degree of overprovisioning to make this
- approach practical. First, we do not expect the usage patterns on
- the Internet to be nearly so well characterized. In the phone
- network the usage patterns tend to revolve around human behavior,
- which changes rather slowly. However, in the Internet, the
- transfer of a few file repositories can create a dramatic and
- immediate shift in traffic patterns. Second, the variability in
- usage of an individual phone user is quite limited. In contrast,
- computer network usage can easily vary by three orders of
- magnitude, from 64kbps voice to 100mbps HDTV. Even if the law of
- large numbers does apply, the intrinsic variance of the individual
- distributions means that the resulting variance of the aggregate
- usage will be several orders of magnitude bigger than in the phone
- network. Third, regardless of price, there are natural intrinsic
- limits to the maximum bandwidth demand on the phone network: every
- person and FAX machine placing a call simultaneously. In
- contrast, there is no reason to expect that if bandwidth were
- sufficiently cheap there would be limits to the bandwidth
- consumption on the Internet (think of having video-on-demand
- everywhere). Thus, unless we use excessively high prices to
- artificially lower demand, we doubt we can overprovision the
- network so that it is extremely rarely overloaded.
-
- Given that overloads will occur if no admission control is used,
- the second question is: can applications adequately adapt to these
- overloaded conditions, or should we use admission control to
- prevent these overloads from occurring? Even if one assumes that
- adaptation is done instantaneously (so that there are no transient
- periods where the offset delays are incorrectly set), there is the
- basic question of whether the user population would be happier all
- _________________________
- [Note 13] Of course, this viewpoint is predicated on the nonexistence of
- applications which have hard real-time requirements.
-
-
-
-
- Shenker, Clark, Zhang [Page 30]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- sharing an overloaded network, or would they prefer having some
- users turned away. For typical elastic applications such as
- Telnet, it is most likely preferable to share the overloaded
- network. For typical real-time applications such as remote
- interactive video, we conjecture that it is preferable to turn
- some users away because the rapid increase in delays and packet
- drops as a function of load causes severe degradation of
- application performance even for adaptive applications. In
- short, the ability to adapt to worse conditions does not mean that
- appl
-
- A common counterargument to our line of reasoning is that users
- will be unhappy with any network that denies service with any
- significant frequency, and so we are merely trading off the
- unhappiness with overloading for the unhappiness caused by denial
- of service. While users may expect very low rates of denial for
- low-bandwidth applications like voice, there will not likely be
- the same expectation for extremely bandwidth intensive
- applications like HDTV. We expect that it will be rather easy,
- and fairly efficient (i.e., result in a reasonably high
- utilization level), to provision the network so that it can easily
- accept almost all phone calls, but will occasionally turn away
- much larger bandwidth requests.
-
- 6.3 Variations on the Service Model
-
- There are other approaches to defining real-time service. The
- real-time service advocated here provides a bound on the maximum
- delay of packets, provided that the application's traffic load
- conforms to some prearranged filter. One could provide not only a
- bound on the maximum delay but also a nontrivial bound (i.e., a
- bound other than the no-queueing bound) on the minimum delay. We
- did not include such nontrivial lower bounds on delay in our
- present service model because they serve only to reduce buffering
- at the receiver and we do not expect buffers to be a bottleneck;
- furthermore, if some applications do need additional buffering,
- this can easily be supplied at the edge of the network and need
- not be built into the basic core service model.
-
- A rather different form of service model is to offer statistical
- characterizations of performance. We explicitly reject such
- statistically characterized service offerings because they
- inherently require a statistical characterization of individual
- flows (or at least of the aggregate traffic), and we doubt that
- such characterizations will be available. Instead, we rely only
- on worst-case characterizations of the flows.
-
- Finally, one can define different link-sharing service models; in
-
-
-
- Shenker, Clark, Zhang [Page 31]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- particular, as discussed in [], one can incorporate priorities
- between entities into the link-sharing service model (the model
- presented here does include priorities in a single entity's
- traffic, but not between entities). We do not include this
- feature for two reasons. First, a basic principle of this service
- model is that the quality of service requirements of individual
- applications should be addressed primarily through explicit
- service requests. Second, and much more importantly, the priority
- features will not produce dramatically different delay behaviors
- unless the traffic is very close to the bandwidth limits imposed
- by link-sharing.
-
- 7 Acknowledgments
-
- We would like to acknowledge that the thoughts discussed in this memo
- reflect the contributions of many others. In particular, the works
- of Parekh and Gallager [29,18], Ferrari et al. [6,,7,19], Jacobson
- and Floyd [,11,], Golestani [15,9], Guerin et al. [,20], Kurose et
- al. [,,33,,], Lazar et al. [,,22,], and Kalmanek et al. [13] have
- been critical in shaping our thinking on this matter. Discussions
- with our ISIP collaborators, the End-to-End Services Research Group,
- the authors of the above works, and many of our other colleagues have
- also been instrumental in clarifying our thoughts. In particular,
- Abhay Parekh has taught us much about the delay bound results in
- [29,18]. Also, Sally Floyd and Van Jacobson have rightly insisted
- that packet scheduling algorithms must deal with packet dropping and
- hierarchical link-sharing; we wish to acknowledge that much of our
- thinking on the hierarchical nature of link-sharing was stimulated
- by, and borrows heavily from, their work.
-
- REFERENCES
-
- [1] S. Casner. "private communication", 1992.
-
- [2] D. Clark and V. Jacobson. "Flexible and Efficient Resource
- management for Datagram Networks", unpublished draft, 1991.
-
- [3] D. Clark, S. Shenker, and L. Zhang. "Supporting Real-Time
- Applications in an Integrated Services Packet Network: Architecture
- and Mechanism", in Proceedings of SIGCOMM '92, pp 14-26, 1992.
-
- [4] R. Chipalkatti, J. Kurose, and D. Towsley. "Scheduling Policies for
- Real-Time and Non-Real-Time Traffic in a Statistical Multiplexer",
- in Proceedings of GlobeCom '89, pp 774-783, 1989.
-
- [5] R. Cocchi, D. Estrin, S. Shenker, and L. Zhang. "A Study of
- Priority Pricing in Multiple Service Class Networks", in Proceedings
- of SIGCOMM '91, pp 123-130, 1991.
-
-
-
- Shenker, Clark, Zhang [Page 32]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- [6] R. Cocchi, D. Estrin, S. Shenker, and L. Zhang. "Pricing in
- Computer Networks: Motivation, Formulation, and Example", preprint,
- 1992.
-
- [7] A.~Demers, S.~Keshav, and S.~Shenker. "Analysis and Simulation of a
- Fair Queueing Algorithm", In Journal of Internetworking: Research
- and Experience, 1, pp. 3-26, 1990. Also in Proc. ACM SIGCOMM '89,
- pp 3-12.
-
- [8] J. DeTreville and D. Sincoskie. "A Distributed Experimental
- Communications System", In IEEE JSAC, Vol. 1, No. 6, pp 1070-1075,
- December 1983.
-
- [9] D. Ferrari. "Client Requirements for Real-Time Communication
- Services", In IEEE Communications Magazine, 28(11), November 1990.
-
- [10] D. Ferrari. "Distributed Delay Jitter Control in Packet-Switching
- Internetworks", In Journal of Internetworking: Research and
- Experience, 4, pp. 1-20, 1993.
-
- [11] D. Ferrari, A. Banerjea, and H. Zhang "Network Support for
- Multimedia", preprint, 1992.
-
- [12] D. Ferrari and D. Verma. "A Scheme for Real-Time Channel
- Establishment in Wide-Area Networks", In IEEE JSAC, Vol. 8, No. 3,
- pp 368-379, April 1990.
-
- [13] S. Floyd. "Link-sharing and Resource Management Models for Packet
- Networks", preprint, 1993.
-
- [14] S. J. Golestani. "A Stop and Go Queueing Framework for Congestion
- Management", In Proceedings of SIGCOMM '90, pp 8-18, 1990.
-
- [15] S. J. Golestani. "Duration-Limited Statistical Multiplexing of
- Delay Sensitive Traffic in Packet Networks", In Proceedings of
- INFOCOM '91, 1991.
-
- [16] R. Gu'erin and L. G"un. "A Unified Approach to Bandwidth
- Allocation and Access Control in Fast Packet-Switched Networks", In
- Proceedings of INFOCOM '92.
-
- [17] R. Gu'erin, H. Ahmadi, and M. Naghshineh. "Equivalent Capacity and
- Its Application to Bandwidth Allocation in High-Speed Networks", In
- IEEE JSAC, Vol. 9, No. 9, pp 968-981, September 1991.
-
- [18] J. Kurose. "Open Issues and Challenges in Providing Quality of
- Service Guarantees in High-Speed Networks", In Computer
- Communication Review, 23(1), pp 6-15, 1993.
-
-
-
- Shenker, Clark, Zhang [Page 33]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- [19] J. Hyman and A. Lazar. "MARS: The Magnet II Real-Time Scheduling
- Algorithm", In Proceedings of SIGCOMM '91, pp 285-293, 1991.
-
- [20] J. Hyman, A. Lazar, and G. Pacifici. "Real-Time Scheduling with
- Quality of Service Constraints", In IEEE JSAC, Vol. 9, No. 9, pp
- 1052-1063, September 1991.
-
- [21] J. Hyman, A. Lazar, and G. Pacifici. "Joint Scheduling and
- Admission Control for ATS-based Switching Nodes", In Proceedings of
- SIGCOMM '92, 1992.
-
- [22] J. Hyman, A. Lazar, and G. Pacifici. "A Separation Principle
- Between Scheduling and Admission Control for Broadband Switching",
- In IEEE JSAC, Vol. 11, No. 4, pp 605-616, May 1993.
-
- [23] V. Jacobson and S. Floyd "private communication", 1991.
-
- [24] V. Jacobson "private communication", 1991.
-
- [25] S. Jamin, S. Shenker, L. Zhang, and D. Clark. "An Admission
- Control Algorithm for Predictive Real-Time Service", In Proceedings
- of the Third International Workshop on Networking and Operating
- System Support for Digital Audio and Video, 1992.
-
- [26] C. Kalmanek, H. Kanakia, and S. Keshav. "Rate Controlled Servers
- for Very High-Speed Networks", In Proceedings of GlobeCom '90, pp
- 300.3.1-300.3.9, 1990.
-
- [27] R. Nagarajan and J. Kurose. "On Defining, Computing, and
- Guaranteeing Quality-of-Service in High-Speed Networks", In
- Proceedings of INFOCOM '92, 1992.
-
- [28] A.~Parekh and R. Gallager. "A Generalized Processor Sharing
- Approach to Flow Control- The Single Node Case", In Technical Report
- LIDS-TR-2040, Laboratory for Information and Decision Systems,
- Massachusetts Institute of Technology, 1991.
-
- [29] A.~Parekh. "A Generalized Processor Sharing Approach to Flow
- Control in Integrated Services Networks", In Technical Report LIDS-
- TR-2089, Laboratory for Information and Decision Systems,
- Massachusetts Institute of Technology, 1992.
-
- [30] C. Partridge, "A Proposed Flow Specification" RFC-1363, July 1992.
-
- [31] H. Schulzrinne "private communication", 1992.
-
- [32] H. Schulzrinne, J. Kurose, and D. Towsley. "Congestion Control for
- Real-Time Traffic", In Proceedings of INFOCOM '90.
-
-
-
- Shenker, Clark, Zhang [Page 34]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- [33] S. Shenker "Service Models and Pricing Policies for an Integrated
- Services Internet", to appear in Proceedings of "Public Access to
- the Internet", Harvard University, 1993.
-
- [34] S. Shenker, D. Clark, and L. Zhang. "A Scheduling Service Model
- and a Scheduling Architecture for an Integrated Services Packet
- Network" preprint, 1993.
-
- [35] D. Verma, H. Zhang, and D. Ferrari. "Delay Jitter Control for
- Real-Time Communication in a Packet Switching Network", In
- Proceedings of TriCom '91, pp 35-43, 1991.
-
- [36] C. Weinstein and J. Forgie. "Experience with Speech Communication
- in Packet Networks", In IEEE JSAC, Vol. 1, No. 6, pp 963-980,
- December 1983.
-
- [37] D. Yates, J. Kurose, D. Towsley, and M. Hluchyj. "On Per-Session
- End-to-End Delay Distribution and the Call Admission Problem for
- Real Time Applications with QOS Requirements", In Proceedings of
- SIGCOMM '93, to appear.
-
- [38] L. Zhang, S. Deering, D. Estrin, S. Shenker, and D. Zappala, "RSVP:
- A New Resource ReSerVation Protocol", Accepted for publication in
- IEEE Network, 1993.
-
-
-
- A. On Standardizing a Service Model
-
- Let us assume, for the sake of argument, that the Internet community
- agrees to adopt a service model similar in spirit to the one proposed
- here. There is then the question of how one "standardizes" the service
- model. There are two approaches. First, one could identify a single
- packet forwarding algorithm which supports this service model and then
- require that all routers use this algorithm. This entails standardizing
- the detailed packet scheduling mechanisms in the routers. It is not
- clear that all router technologies will be able to implement this
- particular packet scheduling mechanism, and so this approach may limit
- the range of technologies that can be employed in the Internet. One
- expects, in fact for the sake of progress one hopes, that the future
- Internet will have a diverse set of underlying technologies, and so
- requiring uniformity of the packet forwarding algorithm is probably not
- realistic nor desirable. The second approach involves adopting the
- service model without specifying the underlying mechanism. This path,
- while not nearly as straightforward (in fact, it poses a special
- challenge to the Internet's standardization procedures), is far more
- flexible. In this second approach there are several different
- conceptual issues which must be dealt with: (1) what services will be
-
-
-
- Shenker, Clark, Zhang [Page 35]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- offered, (2) how are those services requested by the application, and
- (3) how are those services provided by the network. In this section we
- briefly address these three issues.
-
- A.1 Defining the Services
-
- There are two separate components to defining the set of services
- offered by the network: the service model and the service
- specification.
-
- Service Model
- This is the basic set of services offered by the network
- and, as such, is the central expression of the network
- architecture. As we have argued previously, the service
- model should be based on fundamental application
- requirements. We have proposed a core service model in this
- memo. For individual flows it provides for two kinds of
- real-time service, guaranteed service and predictive
- service, along with multiple levels of elastic service.
- The service model also provides for hierarchical link-
- sharing services between collective entities.
-
-
- Service Specification
- This is the detailed parameterization of the service model.
- This specification details how the service delivered to
- flows is characterized (e.g., delay bounds, etc.). In
- addition, the service specification details both how flows
- characterize themselves to the network (e.g., token bucket,
- leaky bucket, peak rate, etc.), and how these
- characterizations are enforced the network (e.g., by
- dropping or delaying packets, at entry points or at every
- router, etc.). While the service model is derived from
- rather general principles, the service specification
- involves making a number of detailed (and perhaps
- arbitrary) engineering choices.
-
-
- A.2 Obtaining the Services
-
- There are three kinds of services: link-sharing, elastic, and real-
- time. The link-sharing services will presumably be controlled
- through a network management interface. Since this network
- management interface will not typically be invoked by widely-used
- applications, there are few compatibility constraints. Thus, this
- interface can gradually evolve and so we need not be concerned with
- making its definition precise now. Since providing elastic service
- requires no preallocation of resources, we presume that applications
-
-
-
- Shenker, Clark, Zhang [Page 36]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- utilizing elastic service will not need to pass through admission
- control. These elastic service desires (i.e., which level of ASAP
- service, and the preemptability of the packets) will probably be
- specified by the application in the interface to the transport
- protocol, and this will in turn be communicated to the network
- through some indication in the individual packet headers. We assume
- that this will be addressed in some other standardization venue, and
- we will not address it further here.
-
- In contrast, providing the real-time services does require
- preallocation of network resources. Applications desiring real-time
- service will have to first explicitly request that service, and this
- request involves reserving network resources. The reservation
- procedure has two steps; first the application will invoke some
- operating system interface to request the reservation, and then some
- "set-up" or "reservation" protocol will forward that request to the
- network and return an answer. The application logically sees a
- request-response semantics through some operating system interface;
- the routers interact not with the application but with the
- reservation protocol and that can have a different interface. The
- set-up protocol has its own "service model" of the various
- configurations of reserved state it can provide; these were deemed
- "reservation styles" in [10] (we are not advocating the particular
- reservation styles in [10] but are merely citing them as examples of
- nontrivial relationships between flows and reserved resources). As
- an example of this we note that so far in our exploration of the
- service model, we have discussed only the service given to actual
- flows (that is, flows whose packets are forwarded by the network).
- However, one can reserve resources for potential flows as well;
- potential flows are those whose packets are not currently being
- forwarded, but for whom resources have been reserved.
-
- Thus, in defining how applications obtain real-time services, we must
- deal with the reservation model of the set-up protocol and not just
- the service model of the network itself. We also must describe what
- information is passed between the applications and the network, and
- then must provide a detailed description of the interface invoked by
- applications. More specifically, the three conceptual pieces are:
-
- Reservation Model
-
- The reservation model describes what configurations of
- resources can be reserved. The reservation model must not
- only address the service model available to individual
- flows, but must also incorporate more general
- configurations of reserved resources.
-
-
-
-
-
- Shenker, Clark, Zhang [Page 37]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- Negotiation Model
-
- The negotiation model describes, at an architectural level,
- (1) what parameters the application hands to the operating
- system interface, and (2) what parameters the application
- gets back from that interface. The negotiation model will
- depend on, and may therefore dictate, which end (source,
- receiver) of the application is submitting the requests.
- The negotiation model will also have implications for the
- set of queries and responses implemented in the admission
- control algorithm.
-
-
- Reservation Interface
-
- This is a detailed parameterization (essentially the API)
- of the negotiation model. This reservation interface will
- be the artifact that is invoked by applications. It should
- be designed to be properly extensible, so that new services
- can be added, but it will inevitably be subject to
- compatibility constraints and therefore the previously
- defined components will be largely immutable.
-
-
- A.3 Providing the Services
-
- The previous two sections specify the range of services available,
- and how an application can obtain them. If there were a single
- network provider, then we would just require that the network support
- the interface to the set-up protocol and deliver the desired service.
- However, the Internet is, and will likely continue to be, a very
- heterogeneous and administratively decentralized institution. The
- service delivered to a flow is a concatenation of the service
- provided by the various routers along its path, and these routers
- need not implement the same packet forwarding algorithms. Thus, we
- need to directly address how we can be assured that such a network,
- with local operators making decisions about which routers to install,
- will indeed support the service model. As mentioned previously, one
- approach is to insist on a single router mechanism. The approach we
- advocate is, instead, to provide a functional requirement on routers
- rather than a definition of the detailed mechanism.
-
-
-
- Router Interoperability Requirements
-
- This specifies a set of criteria that a router has to
- conform to. There are two categories of criteria. First,
-
-
-
- Shenker, Clark, Zhang [Page 38]
-
-
-
-
- Internet Draft Integrated Service Architecture October 1993
-
-
- the routers must implement the interface used by the set-up
- protocol, and the admission control algorithm must support
- the appropriate set of queries. Incorporated within this
- is something functionally equivalent to what is described
- in RFC 1363 [3], which describes the set of parameters
- handed to routers along the path of a flow. Second, the
- service delivered by the router must conform to certain
- standards; these standards are designed so that the service
- delivered by a heterogeneous set of conforming routers will
- obey the service model. For guaranteed service, one might
- require that routers must approximate the WFQ "fluid
- model", as defined in []. One can express the accuracy to
- which a router supports the fluid model with an error term
- which can be carried in the reservation interface as it is
- passed between routers and added up to compute the
- resulting end-to-end delay bounds. We should note that
- this is just one example; there are other alternatives for
- specifying how to deliver guaranteed service. For
- predictive service, the issue is much more difficult. Here
- the performance depends crucially on the admission control
- algorithm [Note 14], and it is difficult to accurately
- characterize a measurement-based admission control
- algorithm. We propose that the performance of such
- algorithms be characterized by their performance on various
- test suites. These test suites will reveal not only the
- degree to which the delay bounds are met, but also the
- level of network utilization obtained (which depends on the
- behavior of the admission control algorithm). How one
- defines and evaluates such test suites is an unexplored yet
- crucial issue.
-
-
-
-
-
-
-
-
-
-
-
-
- _________________________
- [Note 14] The guaranteed service depends on admission control as well,
- but for guaranteed service there is a clear correctness condition for
- admission control. There is no such clear correctness condition for
- predictive admission control.
-
-
-
-
- Shenker, Clark, Zhang [Page 39]
-
-